home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / Me-Mz / Multiple Scrolling Fields.cpt / Multiple Scrolling Fields / card_3642.txt < prev    next >
Text File  |  1990-12-13  |  6KB  |  261 lines

  1. -- card: 3642 from stack: in
  2. -- bmap block id: 2927
  3. -- flags: 0000
  4. -- background id: 2779
  5. -- name: Parallel Scrolling Fields 2
  6. ----- HyperTalk script -----
  7. on openCard
  8.   -- PUT NAME OF ANY FIELD IN PLACE OF "field 1" IN THIS HANDLER
  9.  
  10.   -- (Or, alternately, "hard wire" this script by putting the text
  11.   -- height directly into handler "changeScroll")
  12.  
  13.   global txtHt -- text height of scrolling fields
  14.   put the textHeight of card field "field 1" into txtHt
  15. end openCard
  16.  
  17. on changeScroll scrHt
  18.   -- The first part of this handler prevents you from
  19.   -- scrolling between lines.
  20.  
  21.   global txtHt
  22.   get scrHt MOD txtHt
  23.   if (it < txtHt/2) then subtract it from scrHt
  24.   else if (scrHt > 0) and (it > 0) then add (txtHt - it) to scrHt
  25.  
  26.   -- This part scrolls all the fields to the same height.
  27.   -- PUT NAMES OF ALL YOUR FIELDS HERE: ADD AS MANY AS YOU WANT
  28.  
  29.   set the scroll of card field "field 1" to scrHt
  30.   set the scroll of card field "field 2" to scrHt
  31.   set the scroll of card field "field 3" to scrHt
  32. end changeScroll
  33.  
  34.  
  35.  
  36.  
  37. -- part 2 (field)
  38. -- low flags: 00
  39. -- high flags: 0007
  40. -- rect: left=204 top=241 right=315 bottom=290
  41. -- title width / last selected line: 0
  42. -- icon id / first selected line: 0 / 0
  43. -- text alignment: 0
  44. -- font id: 3
  45. -- text size: 9
  46. -- style flags: 0
  47. -- line height: 12
  48. -- part name: field 2
  49. ----- HyperTalk script -----
  50. on mouseWithin
  51.   put the scroll of card field "field 2" into scrHt
  52.   changeScroll scrHt
  53. end mouseWithin
  54.  
  55.  
  56.  
  57. -- part 3 (field)
  58. -- low flags: 00
  59. -- high flags: 0007
  60. -- rect: left=289 top=241 right=315 bottom=375
  61. -- title width / last selected line: 0
  62. -- icon id / first selected line: 0 / 0
  63. -- text alignment: 65535
  64. -- font id: 3
  65. -- text size: 9
  66. -- style flags: 0
  67. -- line height: 12
  68. -- part name: field 3
  69.  
  70.  
  71. -- part 1 (field)
  72. -- low flags: 00
  73. -- high flags: 0007
  74. -- rect: left=119 top=241 right=315 bottom=205
  75. -- title width / last selected line: 0
  76. -- icon id / first selected line: 0 / 0
  77. -- text alignment: 0
  78. -- font id: 3
  79. -- text size: 9
  80. -- style flags: 0
  81. -- line height: 12
  82. -- part name: field 1
  83. ----- HyperTalk script -----
  84. on mouseWithin
  85.   put the scroll of card field "field 1" into scrHt
  86.   changeScroll scrHt
  87. end mouseWithin
  88.  
  89.  
  90.  
  91. -- part 21 (field)
  92. -- low flags: 01
  93. -- high flags: 0002
  94. -- rect: left=358 top=241 right=315 bottom=375
  95. -- title width / last selected line: 0
  96. -- icon id / first selected line: 0 / 0
  97. -- text alignment: 0
  98. -- font id: 3
  99. -- text size: 12
  100. -- style flags: 0
  101. -- line height: 16
  102. -- part name: 
  103.  
  104.  
  105. -- part 33 (field)
  106. -- low flags: 01
  107. -- high flags: 0002
  108. -- rect: left=153 top=80 right=131 bottom=351
  109. -- title width / last selected line: 0
  110. -- icon id / first selected line: 0 / 0
  111. -- text alignment: 0
  112. -- font id: 3
  113. -- text size: 12
  114. -- style flags: 0
  115. -- line height: 16
  116. -- part name: Domain
  117.  
  118.  
  119. -- part 34 (field)
  120. -- low flags: 01
  121. -- high flags: 0002
  122. -- rect: left=174 top=149 right=230 bottom=315
  123. -- title width / last selected line: 0
  124. -- icon id / first selected line: 0 / 0
  125. -- text alignment: 0
  126. -- font id: 0
  127. -- text size: 12
  128. -- style flags: 0
  129. -- line height: 16
  130. -- part name: Me
  131. ----- HyperTalk script -----
  132. on mouseWithin
  133.   put empty into msg
  134.   set the loc of msg to the mouseLoc
  135.   Put "Stop tickling me!"
  136. end mouseWithin
  137.  
  138. on mouseLeave
  139.   put empty into msg
  140.   hide msg
  141. end mouseLeave
  142.  
  143.  
  144.  
  145. -- part 28 (field)
  146. -- low flags: 80
  147. -- high flags: 4007
  148. -- rect: left=53 top=65 right=236 bottom=468
  149. -- title width / last selected line: 0
  150. -- icon id / first selected line: 0 / 0
  151. -- text alignment: 0
  152. -- font id: 3
  153. -- text size: 9
  154. -- style flags: 0
  155. -- line height: 12
  156. -- part name: Hello
  157.  
  158.  
  159. -- part 31 (field)
  160. -- low flags: 80
  161. -- high flags: 0002
  162. -- rect: left=451 top=65 right=236 bottom=468
  163. -- title width / last selected line: 0
  164. -- icon id / first selected line: 0 / 0
  165. -- text alignment: 0
  166. -- font id: 3
  167. -- text size: 12
  168. -- style flags: 0
  169. -- line height: 16
  170. -- part name: hello scroll mask
  171.  
  172.  
  173. -- part 35 (field)
  174. -- low flags: 00
  175. -- high flags: 4000
  176. -- rect: left=289 top=241 right=314 bottom=359
  177. -- title width / last selected line: 0
  178. -- icon id / first selected line: 0 / 0
  179. -- text alignment: 0
  180. -- font id: 3
  181. -- text size: 9
  182. -- style flags: 0
  183. -- line height: 12
  184. -- part name: field 3 mask
  185.  
  186.  
  187. -- part contents for card part 1
  188. ----- text -----
  189. 1
  190. 2
  191. 3
  192. 4
  193. 5
  194. 6
  195. 7
  196. 8
  197. 9
  198. 10
  199.  
  200. -- part contents for card part 2
  201. ----- text -----
  202. partridge
  203. turtle doves
  204. red hens
  205. gold rings
  206. birds a laying
  207. Jasmine 20's
  208. Fuji disks
  209. disk labels
  210. A+ mouses
  211. pear trees
  212.  
  213. -- part contents for card part 28
  214. ----- text -----
  215. These scripts enable you to control several fields with one scroll bar.  Any scroll bar can control all the others depending on which one you are moving at any given time.  Just copy the script for field "field 1" into all fields you wish to make controllers. 
  216.  
  217. You may wish to cover up the scroll bars you don't want people to use with opaque fields, as I have done with in field "field 3", so people don't use them by mistake.
  218.  
  219. You may notice that field "field 3" has lines on it, unlike the usual scrolling field.  A transparent field with "Show Lines" checked will underline for you, but will also, unfortunately, prevent you from entering text into that field directly.
  220.  
  221. I have added an algorithm that aligns the top of the first line with the top of the field, so you won't stop the scroller with only part of the first line showing.
  222.                                      <Click> for more ...
  223.                                *** INSTALLATION INSTRUCTIONS ***
  224.  
  225. You MUST:
  226.      ‚Ä¢ Put handlers "Open Card" and "ChangeScroll" into your card's script.
  227.      ‚Ä¢ Put "mouseWithin" handler in all fields you want to use to control the others.
  228.      ‚Ä¢ Change names of fields in card's script to the names of your fields.
  229.  
  230. P.S. I have made two other versions of this, if people show an interest:
  231.      > One of them tells you which line numbers are showing on screen, and how many total lines have been entered into the field; and
  232.      > The other works with buttons instead of scroll bars, moving up or down a line or a screen at a time.
  233.  
  234. Scroll Away.
  235.  
  236. -- part contents for card part 3
  237. ----- text -----
  238. $224.95
  239. $273.99
  240. $88.00
  241. $2400
  242. $93.00
  243. $5895.00
  244. $15.95
  245. $.50
  246. $1195.00
  247. $3000.00
  248.  
  249. -- part contents for card part 33
  250. ----- text -----
  251. Welcome to the public domain.
  252. This set of scripts comes to you courtesy of:
  253.  
  254.  
  255. -- part contents for card part 34
  256. ----- text -----
  257. Mark Safire
  258. Safire Consulting
  259. 320 East 22, Apt 3-F
  260. New York, NY 10010
  261. GENIE: HyperSaf